home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_100 / 111_01 / mcroang.h < prev    next >
Text File  |  1985-08-19  |  6KB  |  204 lines

  1. /*                 MICROANGELO GENERAL FUNCTION FILE
  2.  
  3.              Author - Joe Shannon
  4.                 566 Rock Road
  5.             State College, PA 16801
  6.                 (814) 238-0029
  7.  
  8.                   Version 1.0
  9.                February 28, 1982
  10.  
  11. **This program is released to public domain with the rquest that author credit
  12.   be retained in the source.
  13. */
  14.  
  15.  
  16. #define    DATAPORT    0xF0
  17. #define    STATPORT    0xF1    /* output a 1 then a 0 to STAT resets */
  18. #define    SENDBIT        1    /* loop on non zero to test port ready */
  19. #define    RECVBIT        2    /* loop on zero to await char from MA  */
  20.  
  21. /*================
  22.  ALPHA MODE
  23. ==================
  24.  */
  25.  
  26. #define    AMOD_SET    0x80    /* set the alpha mode to AMOD_  */
  27. #define    AMOD_SC        0x80    /* clear screen and home ALPHA cursor */
  28. #define    AMOD_EC        0x40    /* enable special ASCII code interpret */
  29. #define    AMOD_HS        0x20    /* enable HIGH SPEED alpha mode */
  30. #define    AMOD_CU        0x10    /* disable display of ALPHA cursor  */
  31. #define    AMOD_FO        0x08    /* select user defined CHAR SET  */
  32. #define    AMOD_OS        0x04    /* enable OVERSTRIKE mode */
  33. #define    AMOD_UL        0x02    /* turn on UNDERLINING  */
  34. #define    AMOD_FG        0x01    /* invert char FIGURE GND */
  35.  
  36. #define    ACUR_SET    0x81    /* position alpha cur @<row><col> */
  37. #define    ACUR_GET    0x82    /* get alph cur pos <row><col> */
  38. #define    SCRL_SET    0x83    /* set alpha scroll to <0-39> */
  39. #define    SCRN_SPL    0xB8    /* set screen size <l> */
  40. #define    CONT_CDS    0xB9    /* define ALPHA cont codes <c10x0x0xc8> */
  41.  
  42. /*================
  43.  GRAFICS CURSOR
  44. ==================
  45.  */
  46.  
  47. #define    GCUR_SET    0x84    /* set grafics cursor <xh,xl,yh,yl> */
  48. #define    GCUR_GET    0x85    /* read the graf cur <xh,xl,yh,yl>  */
  49. #define    GCUR_ALP    0x86    /* set grafics cur to alpha cursor  */
  50. #define    GCUR_TRX    0x87    /* set grafics cur to tracking cross */
  51. #define    GCUR_REL    0xB4    /* gr cur relitivly <dxh,dxl,dyh,dyl> */
  52.  
  53. /*================
  54.  SCREEN 
  55. ==================
  56.  */
  57.  
  58.  
  59. #define    SCRN_CLR    0x88    /* clear screen */
  60. #define    SCRN_GND    0x89    /* set screen ground <0 or 1> */
  61. #define    SCRN_TOG    0x8A    /* toggle screen ground */
  62. #define    SCRN_GET    0x8B    /* get screen GROUND <0 or 1>  */
  63.  
  64. /*================
  65.  POINT
  66. ==================
  67.  */
  68.  
  69. #define    PNT_OFF        0x8C    /* POINT ON <4 bytes>  */
  70. #define    PNT_ON        0x8D    /* POINT OFF <4 bytes>  */
  71. #define    PNT_CPL        0x8E    /* compliment point <4 bytes>  */
  72. #define    PNT_GET        0x8F    /* READ POINT <val>   */
  73. #define    RPNT_OFF    0xBC    /* REL POINT ON <4 bytes>  */
  74. #define    RPNT_ON           0xBD    /* REL POINT OFF <4 bytes>  */
  75. #define    RPNT_CPL    0xBE    /* REL compliment point <4 bytes>  */
  76. #define    RPNT_GET    0xBF    /* REL READ POINT <val>   */
  77.  
  78. /*================
  79.  VECTOR 
  80. ==================
  81.  */
  82.  
  83. #define    VECT_OFF    0x90    /* vector on <4 bytes> */
  84. #define    VECT_ON        0x91    /* VECTOR OFF <4 bytes> */
  85. #define    VECT_CPL    0x92    /* compliment vector <4 bytes> */
  86. #define    RVEC_OFF        0xC0    /* REL vector on <4 bytes> */
  87. #define    RVEC_ON        0xC1    /* REL VECTOR OFF <4 bytes> */
  88. #define    RVEC_CPL    0xC2    /* REL compliment vector <4 bytes> */
  89.  
  90. /*================
  91.  REGION 
  92. ==================
  93.  */
  94.  
  95. #define    REG_OFF        0x94    /* region on  <8 bytes>  */
  96. #define    REG_ON        0x95    /* region off <8 bytes>  */
  97. #define    REG_CPL        0x96    /* compliment region  <8 bytes> */
  98. #define    RREG_OFF    0xC4    /*REL region on  <8 bytes>  */
  99. #define    RREG_ON        0xC5    /*REL region off <8 bytes>  */
  100. #define    RREG_CPL    0xC6    /*REL compliment region  <8 bytes> */
  101.  
  102. /*================
  103.  GRAFIC CHAR MODE 
  104. ==================
  105.  */
  106.  
  107. #define    CHAR_PLT    0x98    /* plot character <c>  */
  108. #define    CHAR_MOD    0x99    /* set plot char mode <CMODE_>  */
  109. #define    CHAR_DEF    0x9A    /* def an ASCII char <asc><s110x0x0x0x0xs0>*/
  110. #define    CHAR_LOD    0x9B    /* load the default char set */
  111.  
  112. /*================
  113.  LIGHTPEN
  114. ==================
  115.  */
  116.  
  117. #define    TRAX_OFF    0x9C    /* turn tracking cross off */
  118. #define    TRAX_ON        0x9D    /* turn tracking cross on  */
  119. #define    TRAX_GET    0x9E    /* read tracking cross <4 bytes> */
  120. #define    PEN_GET        0x9F    /* read light pen <00> or <01,4 bytes> */
  121.  
  122. /*================
  123.  CROSSHAIRS
  124. ==================
  125.  */
  126.  
  127. #define    CROS_OFF    0xA0    /* crosshairs off */
  128. #define    CROS_ON        0xA1    /* crosshairs on @loc <4 byte>  */
  129. #define    CROS_GET    0xA2    /* read crosshairs <4 byte> */
  130. #define    CROS_CX        0xA3    /* draw crosshairs at CX,CY  */
  131.  
  132. /*================
  133.  MEMORY
  134. ==================
  135.  */
  136.  
  137. #define    MEMY_DMP    0xA4    /* dump screen read <b10x0x0x0x0xb7800> */
  138. #define    MEMY_LOD    0xA5    /* load screen send <b10x0x0x0x0xb7800> */
  139. #define    MEMY_EXM    0xA6    /* examine memory <nh,nl,ah,al,b10x0x0xbn>*/
  140. #define    MEMY_DEP    0xA7    /* deposit memory <nh,nl,ah,al,b10x0x0xbn>*/
  141.  
  142. /*================
  143.  UTILITY
  144. ==================
  145.  */
  146.  
  147. #define    USER_ADD    0xA8    /* set user command address <ah,al> */
  148. #define    USER_CAL    0xA9    /* call user code <ah,al,imask,ih,il>*/
  149. #define    IMSK_LP        4    /* interupt mask to enable light pen int */
  150. #define    IMSK_DT        2    /* mask for data to host */
  151. #define    IMSK_DF        1    /* mask for data from host */
  152. #define    INTR_SWT    0xAA    /* switch real time interupts */
  153. #define    COLD_STR    0xAB    /* force a cold start of MicroAngelo */
  154.  
  155. /*================
  156.  USER 
  157. ==================
  158.  */
  159.  
  160. #define    USER_1        0xAC    /* user defined  */
  161. #define    USER_2        0xAD    /* user defined  */
  162. #define    USER_3        0xAE    /* user defined  */
  163. #define    USER_4        0xAF    /* user defined  */
  164.  
  165. /*================
  166.  TEST
  167. ==================
  168.  */
  169.  
  170. #define    TEST_PRM    0xB0    /* test EPROM send <#blocks> get <chsum> */
  171. #define    TEST_RAM    0xB1    /* test ram get <0> or <1><ah,al> */
  172. #define    TEST_ALP    0xB2    /* test alpha */
  173. #define    TEST_SQU    0xB3    /* munching squares <s,i,n>*/
  174.  
  175. /*================
  176.  CIRCLE
  177. ==================
  178.  */
  179.  
  180. #define    CIRC_OFF    0xC8    /* turn circle off <radius> */
  181. #define    CIRC_ON        0xC9    /* circle off <rad> */
  182. #define    CIRC_CPL    0xCA    /* COMPLIMENT CIRCLE <RAD> */
  183.  
  184. /*================
  185.  FLOOD
  186. ==================
  187.  */
  188.  
  189. #define    FLOD_OFF    0xCC    /* flood reg with zeros <xh,xl,yh,yl> */
  190. #define    FLOD_ON        0xCD    /* flood region with ones     "     "*/
  191. #define    RFLD_OFF    0xCE    /* flood relitive <dxh,dxl,dyh,dyl> */
  192. #define    RFLD_ON        0xCF    /* same above */
  193.  
  194. /*================
  195.  MACRO
  196. ==================
  197.  */
  198.  
  199. #define    MACR_STR    0xD0    /* start/stop  def <n> or <FF> get <code>*/
  200. #define    MACR_NXT    0xD1    /* add next macro byte <byte> get <code> */
  201. #define    MACR_CLR    0xD2    /* era macro or clear get<n> or <FF,sh,sl>*/
  202. #define    MACR_INV    0xD3    /* invoke macro <n> */
  203.  
  204. def